import java.util.Arrays;

public class java2024_5_24 {
    //    public static void main(String[] args) {
//        int[] array = {3, 5, 2, 6, 2, 9, 10, 1};
////        Arrays.sort();
//        int a = 2;
//        int b = 10;
//        while ((a % b) != 0) {
//            int c = a % b;
//            a = b;
//            b = c;
//        }
//        System.out.println(b);
//    }
//    public static void main(String[] args) {
//        //最大公约数
//        //辗转相除法
//        int number1 = 4;
//        int number2 = 20;
//        while((number1%number2)!=0){
//            int c = number1%number2;
//            number1 = number2;
//            number2 = c;
//        }
//        System.out.println(number2);
//    }
//    public static void main(String[] args) {
//        int[] array = {100000};
//        System.out.println(findNumbers(array));
//    }
//
//    public static int findNumbers(int[] nums) {
//        int count = 0;
//        for (int i = 0; i < nums.length; i++) {
//            int countNow = 0;
//            int number = nums[i];
//            while (number % 10 != 0) {
//                countNow++;
//                number /= 10;
//            }
//            if (countNow != 0 && countNow % 2 == 0) {
//                count++;
//            }
//        }
//        return count;
//    }
    //正向打印1234
//    public static void main(String[] args) {
//        int n = 1234;
//        int[] array = new int[4];
//        segmentation(n,array,0);
//        System.out.println(Arrays.toString(array));
//
//    }
//
//    public static void segmentation(int number,int[] array,int i) {
//        if (number < 10) {
//            array[i++] = number;
//        } else {
//            segmentation(number / 10, array,i);
//            array[i++] = number%10;
//        }
//
//    }
    public static void main(String[] args) {
        int[] array = {13, 25, 83, 77};

        //求出总共需要的数组长度
        int totalLength = 0;
        for (int i = 0; i < array.length; i++) {
            totalLength += sumNumber(array[i]);
        }
        int[] totalArray = new int[totalLength];


        int k = 0;
        for (int i = 0; i < array.length; i++) {
            //将数组每一位放到数组中
            int start = k;
            int number = array[i];
            while (number != 0) {
                totalArray[k++] = number % 10;
                number /= 10;
            }

            //交换数组位置
            reverse(start, k - 1, totalArray);
        }
        System.out.println(Arrays.toString(totalArray));
    }

    public static int sumNumber(int number) {
        int sum = 0;
        while (number != 0) {
            sum++;
            number /= 10;
        }
        return sum;
    }

    public static void reverse(int begin, int end, int[] array) {
        int left = begin;
        int right = end;
        while(left<right){
            int temp = array[left];
            array[left] = array[right];
            array[right] = temp;
            left++;
            right--;
        }
    }
}
